Information storage medium storing multi angle data, and recording method and reproducing apparatus thereof

ABSTRACT

A method of storing multi angle data. Data for a plurality of angles of a scene are stored in interleaved blocks. Sizes of the interleaved blocks are integral multiples of sizes of integral numbered aligned units that include packets. Angle change points are included in each of the interleaved blocks, allowing a reproducing apparatus to seamlessly jump from one angle to another angle during reproduction of the multi angle data. A number of the angle points recorded on the information storage medium is computed so that a jumping distance required by the data during reproduction does not exceed a maximum jumping distance of a reproducing apparatus.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of application Ser. No. 10/885,130filed Jul. 7, 2004 and claims the benefit of Korean Patent ApplicationNos. 2003-75825 filed on Oct. 29, 2003 and 2004-22878 filed on Apr. 2,2004, in the Korean Intellectual Property Office, and U.S. ProvisionalApplication No. 60/484,672, filed on Jul. 7, 2003 in the United StatesPatent and Trademark Office, the disclosures of which are incorporatedherein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to multi angle data used when encodingand/or decoding video object data, and more particularly, to aninformation storage medium which stores the multi angle data, a methodof recording and/or reproducing the multi angle data, and an apparatusfor recording and/or reproducing the multi angle data.

2. Description of the Related Art

Multi angle data is obtained by photographing a scene with severalcameras at different angles and encoding a result of the photographing.When a change of viewing angle of the photographed scene is desiredduring reproduction of contents including the multi angle data, a changeof angle command is sent to a reproducing apparatus, and the reproducingapparatus reproduces data of the scene photographed at the desired anglein response to the command. For angle change, the multi angle data aredivided into predetermined units and the units are alternately recordedusing interleaving.

Accordingly, a pickup of the reproducing apparatus must jump to otherpositions so as to detect and reproduce interleaved blocks at an angleor accomplish angle change while reading the multi angle data recordedusing interleaving. However, an increase in sizes of the interleavedblocks results in an increase in the distance between a current positionand a position to which a pickup of the reproducing apparatus must jumpfor angle change. In this case, seamless reproduction is not guaranteed.On the contrary, if a size of an interleaved block is small, jumping ofthe pickup of the reproducing apparatus is frequently required duringdata reproduction that does not require angle change. Accordingly, it isimportant to adjust a size of an interleaved block appropriately.

Further, a jumping point allowing the reproducing apparatus to jump toother interleaved blocks at a different angle may be set within oneinterleaved block. In this case, a total number of jumping points mustbe appropriately determined so that the multi angle data is effectivelyreproducible.

SUMMARY OF THE INVENTION

The present invention provides an information storage medium on whichmulti angle data is recorded to enable seamless reproduction, and amethod of recording and/or reproducing the multi-angle data and anapparatus for recording and/or reproducing the multi angle data.

The present invention also provides a method of determining a totalnumber of angle points that allow a reproducing apparatus to jump tochange reproduction positions within an interleaved block.

According to an aspect of the present invention, there is provided aninformation storage medium on which multi angle data comprising at leastone unit of angle data is recorded, wherein the multi angle datacomprises interleaved blocks, each of which includes at least onepredetermined sized packet, and the data of one angle are interleavedwith the data of at least one other angle in units of the interleavedblocks, sizes of the interleaved blocks being integral multiples ofsizes of integral numbered aligned units that include packets.

Each of the interleaved blocks may include at least one angle point thatallows a reproducing apparatus to continue data reproduction whilejumping to other reproduction positions during reproduction of the angledata, a number of angle points includible in each of the interleavedblocks being integral multiples of a number of the aligned units.

According to another aspect of the present invention, there is provideda method of recording multi angle data that includes interleaved blocks,each of which includes at least one angle point that allows areproducing apparatus to jump to other reproduction positions duringdata reproduction, using interleaving, the method comprising computing adistance between angle points; compensating for an offset between thecomputed distance and a reproduction length of a packet comprising eachof the interleaved blocks; computing a maximum number of angle points inone interleaved unit that is obtained when a possible longest jumpingdistance to which the reproducing apparatus can jump during datareproduction is smaller than or equal to a maximum jumping distancegiven by the reproducing apparatus; and making interleaved blocks basedon the distance between angle points and a number of angle points, andrecording the multi angle data on the interleaved blocks.

According to yet another aspect of the present invention, there isprovided an apparatus for reproducing multi angle data stored ininterleaved blocks, each of which includes at least one angle pointallowing the apparatus to jump to other reproduction positions duringdata reproduction, the apparatus comprising a reading unit which readsthe multi angle data; and a buffer which stores the read multi angledata, wherein the multi angle data comprises interleaved blocks, each ofwhich includes at least one predetermined sized packet, and the angledata of one angle are interleaved with angle data of at least one otherangle in units of interleaved blocks, sizes of the interleaved blocksbeing integral multiples of sizes of integral numbered aligned unitsthat include packets.

Additional aspects and/or advantages of the invention will be set forthin part in the description which follows and, in part, will be obviousfrom the description, or may be learned by practice of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and/or other aspects and advantages of the present inventionwill become more apparent by describing in detail exemplary embodimentsthereof with reference to the attached drawings in which:

FIG. 1A illustrates a first angle data file;

FIG. 1B illustrates a second angle data file;

FIG. 1C illustrates recording of the first and second angle data filesusing interleaving;

FIG. 2 illustrates the multi angle data of FIG. 1 recorded on aninformation storage medium;

FIG. 3 is a block diagram of a reproducing apparatus for seamlesslyreproducing data, according to an embodiment of the present invention;

FIG. 4 is a graph illustrating an amount of data stored in a read bufferduring jumping of a pickup;

FIG. 5 illustrates a structure of a clip file recorded usinginterleaving to realize multi angle data, according to an embodiment ofthe present invention; and

FIG. 6 is a flowchart illustrating a method of calculating the distanceS_(ANGLE) _(—) _(POINTS) between two angle points and a lengthS_(EXTENT) of an extent, according to an embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to the embodiments of the presentinvention, examples of which are illustrated in the accompanyingdrawings, wherein like reference numerals refer to the like elementsthroughout. The embodiments are described below to explain the presentinvention by referring to the figures.

FIGS. 1A-1C illustrate multi angle data recorded using interleaving. Themulti angle data comprises a first angle data file 110 as shown in FIG.1A and a second angle data file 120 as shown in FIG. 1B that containaudio/video (AV) data for respective angles. The first and second angledata files 110 and 120 are alternately and continuously recorded in anarea 130 of an information storage medium as shown in FIG. 1C for fastchange of angle views. In other words, the first and second angle datafiles 110 and 120 are divided into predetermined units and thepredetermined units are recorded using interleaving. Accordingly, apickup of a reproducing apparatus is not required to move a largedistance to read data at a changed angle when angle views are changed,thereby guaranteeing seamless reproduction.

Each predetermined unit of angle data included in data recorded on theinformation storage medium using interleaving is referred to as anextent. In the case of a digital versatile disc-video (DVD-Video), anextent is equivalent to an interleaved unit. That is, the extentindicates data recorded in a file system without a pause. Accordingly,jumping of a pickup of the reproducing apparatus to other extents isrequired to exactly read data for data reproduction.

FIG. 2 illustrates the interleaved data of FIGS. 1A-1C recorded on aninformation storage medium 200. An AV stream indicates a bit streamcomprising a plurality of source packets. A source packet is a 192-bytepacket that includes a 188 byte MPEG-2 transport stream (TS) and a4-byte header. In general, data is stored in sector units in aninformation storage medium. A sector is a basic unit of recording afile. In general, a sector stored in a DVD is 2048 bytes long. Thus, asector is comprised of several source packets.

FIG. 3 is a simplified block diagram of a reproducing apparatus forseamlessly reproducing data. Referring to FIG. 3, data stored in aninformation storage medium is read by a reading unit 310 and the readdata is transmitted to a read buffer 330 via a demodulation unit 320.The read buffer 330 is used to buffer a bit stream that is to betransmitted to a decoder, and thus, use of the buffer guaranteesseamless reproduction even during jumping of a pickup 305 in the readingunit 310. A source depacketizer 340 converts the bit stream thatincludes a plurality of source packets into an MPEG-2 TS packet andoutputs the MPEG-2 TS packet.

Parameters related to buffering are as follows:

(a) R_(UD): A data rate of data transmitted from the reading unit 310 tothe read buffer 330 via the demodulation unit 320;

(b) R_(TS): A maximum value of an encoding rate TS_recording_rate of anMPEG-2 TS, i.e., a speed of outputting data to the decoder; and

(c) R_(MAX): A maximum bit rate of a source packet stream. An MPEG-2 TSpacket is 188 byte long and inclusion of a 4-byte header into the MPEG-2TS packet forms a source packet stream. Therefore, a maximum bit rateR_(MAX) equals (192/188)×R_(TS).

Assuming that data B_(OCCUPIED) output from the read buffer 330 to thedecoder at a speed TS_recording_rate satisfies Equation (1), underflowof the read buffer 330 is not caused even if data cannot further bestored in the read buffer 330 for a time T_(JUMP). $\begin{matrix}{B_{OCCUPIED} \geq {\frac{T_{JUMP}({ms})}{1000} \times \frac{192}{188} \times {TS\_ recording}{\_ rate}}} & (1)\end{matrix}$

FIG. 4 is a graph illustrating an amount of data stored in the readbuffer 300 during jumping of the pickup 305. In FIG. 4, T_(JUMP) denotesa sum of a jumping time, i.e., access time T_(ACCESS), and a timeT_(OVERHEAD) required to read two error correcting codes (ECCs). Thatis, T_(JUMP)=T_(ACCESS)+T_(OVERHEAD), and T_(OVERHEAD)(ms)≦{2×ECC(bytes)/R_(UD)(bps)}.

When reading data stored in an information storage medium, the readbuffer 330 is filled with the read data. Before the pickup jumps to anew position, the read buffer 330 must be filled with data as specifiedin Equation (1) so as to prevent underflow of the read buffer 330. Thatis, in order to prevent underflow of the read buffer 330, a lengthS_(READ) of data that must be read to the read buffer 330 before jumpingof the pickup must satisfy Equation (2). $\begin{matrix}{{S_{READ}({bit})} \geq {\frac{{T_{JUMP}({ms})} \times R_{UD}}{1000} \times \frac{{TS\_ recording}{\_ rate}({bps}) \times 192}{{{R_{UD}({bps})} \times 188} - {{TS\_ recording}{\_ rate}({bps}) \times 192}}}} & (2)\end{matrix}$

FIG. 5 illustrates a structure of a clip file recorded usinginterleaving to realize multi angle data.

As described above, respective angle data of one angle are interleavedamong angle data of at least one other angle to reduce jumping time andresponse time for angle change, thereby seamlessly changing angles. As aresult, jumping is required not only for angle change but also fornormal playback at a same angle, in order to detect and reproducedesired angle data. An interleaved block is considered an extent of aclip file. An extent may include a plurality of angle points allowing apickup to jump to other angle data. Accordingly, a length S_(EXTENT) ofthe extent in sectors and a distance S_(ANGLE) _(—) _(POINTS) betweentwo angle points must satisfy Equation (3). $\begin{matrix}{{S_{EXTENT}({sectors})} = {{INT}\left\{ {\left( {{\sum\limits_{{in\_ one}{\_ extent}}S_{ANGLE\_ POINTS}} + 6144 - 192} \right)/6144} \right\} \times 3}} & (3)\end{matrix}$

The clip file of multi angle data, shown in FIG. 5, has the followingrestrictions:

(i) the clip file must be located on a layer;

(ii) extents of multi angle streams must start with an angle point andbe aligned with aligned units. If a last aligned unit of an extent isnot completely filled with input transport streams, an unoccupied spaceof the last aligned unit is filled with null packets;

(iii) each distance S_(ANGLE) _(—) _(POINTS) is an integral multiple ofa length of a source packet, e.g., integral multiples of 192 bytes; and

(iv) the length S_(EXTENT) of the extent, a total number of angle pointsin the extent, and angle change time must meet the buffer occupancyrules defined in Equations (1) and (2). Examples of buffer parametersare shown in following Tables 1 and 2.

The distance S_(ANGLE) _(—) _(POINTS) between two angle points isshorter than the length S_(EXTENT) of the extent, and a maximum value ofthe access time T_(ACCESS) for angle change is obtained when jumping toa farthest angle point in a next unit of angle data from a current anglepoint in a current unit of angle data. A unit of angle data may bereferred to an a plurality of blocks of data corresponding to a sametime, wherein each block corresponds to data at a respective angle.Referring to FIG. 5, the data Angle 1-1, Angle 2-1 and Angle 3-1 may beconsidered the current unit of angle data and the data Angle 1-2, Angle2-2 and Angle 3-2 may be considered a next unit of angle data. If anangle change command is received before arriving at the angle point 520after the angle point 510, the maximum value of the access timeT_(ACCESS) is obtained when jumping to a first angle point 530 of angle3-2 from a last angle point 520 of angle 1-1 after reproducing remainingdata of the angle 1-1.

If several angle points are set within an extent, the length S_(READ) ofFIG. 4 is equal to the distance S_(ANGLE) _(—) _(POINTS). In this case,Equation (2) may be expressed as follows:$\quad{{S_{ANGLE\_ POINTS}({bit})} \geq {\frac{{T_{JUMP}({ms})} \times {R_{UD}({bps})}}{1000} \times \frac{{TS\_ recording}{\_ rate}({bps}) \times 192}{{{R_{UD}({bps})} \times 188} - {{TS\_ recording}{\_ rate}({bps}) \times 192}}}}$

FIG. 6 is a flowchart illustrating a method of calculating the distanceS_(ANGLE) _(—) _(POINTS) between two angle points and a lengthS_(EXTENT) of an extent, according to an embodiment of the presentinvention. Referring to FIG. 6, the distance S_(ANGLE) _(—) _(POINTS) iscalculated with given access time T_(ACCESS) and data output speedTS_recording_rate, using Equation (3) (S610). Next, lengths A and B ofdata that are reproduced at the data output speed TS_recording_rate for500 ms and 1000 ms, respectively, are calculated (S620). Since adistance between group-of-pictures (GOPs) is between 500 ms and 1000 msaccording to the MPEG-2 standards, a distance between angle points ispreferably set between 500 ms and 1000 ms. Then, the distance S_(ANGLE)_(—) _(POINTS) is compared with the lengths A and B (S630). If thedistance S_(ANGLE) _(—) _(POINTS)≦the length A, the distance S_(ANGLE)_(—) _(POINTS) is determined to be equivalent to the length A, and ifthe length A<the distance S_(ANGLE) _(—) _(POINTS)≦the length B, thedistance S_(ANGLE) _(—) _(POINTS) is determined to be equivalent to thelength B (S630).

Next, a maximum number M of angle points in an interleaved unit thatsatisfies that a longest jumping distance less than (<) a maximumjumping distance for the given access time T_(ACCESS), is calculated(S640). Since the available maximum jumping distance of a reproducingapparatus is set by the reproducing apparatus, the longest jumpingdistance is calculated by 2×(angle number−1 )×M×S_(ANGLE) _(—)_(POINTS). Thus, the maximum number M can be computed using the computedlongest jumping distance. Then, the length S_(EXTENT) of the extentequals to INT×3 and has M angle points.

Considering that jumping is made between two angle points, angle units,each of which corresponds to data between two angle points in an angledata unit, are preferably aligned with sectors.

Tables 1 and 2 show example values of the length S_(EXTENT) of an extentand the distance S_(ANGLE) _(—) _(POINTS) between two angle pointscomputed using the above method. In detail, Table 1 shows example valuesof the length S_(EXTENT) and the distance S_(ANGLE) _(—) _(POINTS) whena scene is photographed at three angles. Table 2 shows example values ofthe length S_(EXTENT) and the distance S_(ANGLE) _(—) _(POINTS) when thescene is photographed at nine angles. TABLE 1 Maximum Jump Distance10000 20000 40000 sectors sectors sectors (T_(ACCESS): (T_(ACCESS):(T_(ACCESS): 210 ms) 270 ms) 330 ms) S_(EXTENT), and Angle Point NumberTS_recording_rate and Length in S_(EXTENT) 20 Mbps 2496, 4, 4989, 8,9975, 8, 500 ms 500 ms 1 sec 24 Mbps 2247, 3, 4491, 3, 8979, 6, 500 ms 1sec 1 sec 30 Mbps 1872, 1, 3741, 2, 9351, 5, 1 sec 1 sec 1 sec

TABLE 2 Maximum Jump Distance 10000 20000 40000 sectors sectors sectors(T_(ACCESS): (T_(ACCESS): (T_(ACCESS): 210 ms) 270 ms) 330 ms)S_(EXTENT), and Angle Point Number TS_recording_rate and Length inS_(EXTENT) 20 Mbps 624, 1, 1248, 2, 2496, 2, 500 ms 500 ms 1 sec 24 MbpsN.A. N.A. 1497, 1, 1 sec 30 Mbps N.A. N.A. 1872, 1, 1 sec

In general, extents of a file are aligned with sectors. According to thepresent invention, a source packet is 192 bytes long and thus cannot bealigned with a sector of 2048 bytes. Therefore, three continuous sectorsare grouped into an access unit. An access unit of three sectors is aminimum unit where an integral multiple of a length of a source packetis equal to a length of the access unit. In other words, where a sectorhas a length of 2048 bytes, a length of 32 source packets equals alength of three sectors, i.e., one access unit.

The present invention may be realized as a computer program. In thiscase, codes and code segments that are the members of the presentinvention can be easily inferred by computer programmers in the art towhich the present invention belongs. Also, the computer program may bestored in a computer readable medium. When the computer program is readand executed by a computer, a method of recording a multi angle data isaccomplished. The computer readable medium may be any medium, such as amagnetic recording medium, an optical recording medium, and a carrierwaver medium.

As described above, according to the present invention, multi angle datais effectively recordable so that the multi angle data is seamlesslywithout excessive jumping of a pickup for data reproduction.

Although a few embodiments of the present invention have been shown anddescribed, it would be appreciated by those skilled in the art thatchanges may be made in this embodiment without departing from theprinciples and spirit of the invention, the scope of which is defined inthe claims and their equivalents.

1. A method of recording multi angle data comprising interleaved blocks,each of which includes at least one angle point that allows areproducing apparatus to jump to other reproduction positions duringdata reproduction, the method comprising: computing a distance betweenangle points; compensating for an offset between the computed distanceand a reproduction length of a packet of the interleaved blocks;computing a maximum number of angle points in one interleaved blockwhich limits a longest jumping distance which the multi angle data mayrequire during data reproduction to be smaller than or equal to amaximum jumping distance of the reproducing apparatus; and makinginterleaved blocks based on the distance between angle points and anumber of angle points, and recording the multi angle data on theinterleaved blocks.
 2. The method of recording multi-angle data of claim1, wherein the computing of the distance between the angle pointsfurther comprises computing the distance between angle points using anaccess time of the reproducing apparatus and a recording bit rate of adata stream.
 3. The method of recording multi-angle data of claim 2,wherein the compensating for the offset between the computed distanceand the reproduction length of the packet comprises: computing a lengthof the data stream reproduced for a first predetermined time and alength of the data stream reproduced for a second predetermined timelonger than the first predetermined time; if the distance between anglepoints is smaller than the length of the data stream reproduced for thefirst predetermined time, replacing the distance between angle pointswith the length of the data stream reproduced for the firstpredetermined time; and if the distance between angle points is greaterthan the length of the data stream reproduced for the firstpredetermined time and smaller than the length of the data streamreproduced for the second predetermined time, replacing the distancebetween angle points with the length of the data stream reproduced forthe second predetermined time.
 4. The method of recording multi-angledata of claim 1, wherein the computing of the maximum number of theangle points in the one interleaved unit comprises: computing thelongest jumping distance as 2×(angle number−1)×M×S_(ANGLE) _(—)_(POINTS), and computing a maximum number of angle points M using thelongest jumping distance.
 5. The method of recording multi-angle data ofclaim 3, wherein the making of the interleaved blocks based on thedistance between angle points and the number of angle points, and therecording the multi angle data on the interleaved blocks furthercomprise: calculating a size of each of the interleaved blocks using thedistance between angle points and the number of angle points, adjustingthe size of the interleaved blocks to integral multiples of integralnumbered aligned units that include predetermined sized packets, andrecording the multi angle data on the interleaved blocks.
 6. The methodof recording multi-angle data of claim 5, wherein the at least onepredetermined sized packet is 192 bytes long and comprises a header andan MPEG-2 transport stream.
 7. A method of storing data for reproductionof a scene from a plurality of different angles, the method comprising:acquiring data corresponding to the scene from each of the plurality ofangles; and storing the data on a recording medium in interleavedblocks, wherein the data of each block comprises: data for reproducingthe scene from the respective angle, and data for a number of anglepoints which identify points from which and/or to which a reproducingapparatus may be selectively instructed to jump from the data in the oneof the plurality of blocks to the data in another one of the pluralityof blocks, wherein: each angle point is aligned with a beginning of arespective sector of the recording medium, and the data of each blockcomprises a number of packets of data having a total number of bytesequal to an integral multiple of a recording capacity of a sector of therecording medium.
 8. The method of storing data for reproduction of ascene of claim 7, further comprising: determining a data length of therespective blocks based on a number of the plurality of angles and anexpected maximum jump time of the reproducing apparatus.
 9. The methodof storing data for reproduction of a scene of claim 7, furthercomprising: calculating a maximum number of the angle points based on anassumed maximum jump time of the reproducing apparatus, a data length ofthe respective blocks, and a number of the plurality of angles.